package com.czy.service.impl;

import com.czy.common.model.Result;
import com.czy.entity.StudentEntity;
import com.czy.service.ExcelService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author czy
 * @date 2021-5-19 11:45
 */
@Service
public class ExcelServiceImpl implements ExcelService {

//    private List<StudentEntity> getStudentData(int amount){
//        List<StudentEntity> list = new ArrayList<>();
//        StudentEntity studentEntity;
//        for (int i = 0; i < amount; i++) {
//            studentEntity = new StudentEntity();
//            studentEntity.setId(i);
//            studentEntity.setName("小明"+i);
//            studentEntity.setAddress("湖北武汉"+i);
//            studentEntity.setSex((int)(Math.random()*3)+"");
//            list.add(studentEntity);
//        }
//        return list;
//    }
//
//    private List<TeacherEntity> getTeachData(int amount){
//        List<TeacherEntity> list = new ArrayList<>();
//        TeacherEntity teacherEntity;
//        for (int i = 0; i < amount; i++) {
//            teacherEntity = new TeacherEntity();
//            teacherEntity.setId(i);
//            teacherEntity.setName("夭夭"+i);
//            teacherEntity.setAge(24);
//            list.add(teacherEntity);
//        }
//        return list;
//    }
//
//    private Map<String, Object> getTemplateExportData(){
//        Map<String, Object> map = new HashMap<String, Object>();
//        map.put("date", "2014-12-25");
//        map.put("money", 2000000.00);
//        map.put("upperMoney", "贰佰万");
//        map.put("company", "执笔潜行科技有限公司");
//        map.put("bureau", "财政局");
//        map.put("person", "JueYue");
//        map.put("phone", "1879740****");
//        List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();
//        for (int i = 0; i < 4; i++) {
//            Map<String, String> lm = new HashMap<String, String>();
//            lm.put("id", i + 1 + "");
//            lm.put("zijin", i * 10000 + "");
//            lm.put("bianma", "A001");
//            lm.put("mingcheng", "设计");
//            lm.put("xiangmumingcheng", "EasyPoi " + i + "期");
//            lm.put("quancheng", "开源项目");
//            lm.put("sqje", i * 10000 + "");
//            lm.put("hdje", i * 10000 + "");
//
//            listMap.add(lm);
//        }
//        map.put("maplist", listMap);
//        return map;
//    }
//
//    /**
//     * excel单sheet导出
//     */
//    @Override
//    public void singleSheetExport() {
//        HttpServletResponse response = ServletUtils.getResponse();
//        List<StudentEntity> list = getStudentData(1000);
//        try {
//            ExcelUtils.exportExcel(list,"大数据量导出","第一页",StudentEntity.class,"临时文件",response);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * excel导出多sheet页
//     */
//    @Override
//    public void excelExportManySheet() {
//        HttpServletResponse response = ServletUtils.getResponse();
//        // 获取学生数据
//        List<StudentEntity> studentData = getStudentData(1000);
//        // 获取老师数据
//        List<TeacherEntity> teachData = getTeachData(1000);
//
//        List<Map<String, Object>> exportParamList = new ArrayList<>();
//        // 学生sheet页
//        Map<String, Object> studentSheet = ExcelUtils.createOneSheet("学生sheet页", "学生数据标题", StudentEntity.class, studentData);
//
//        // 老师sheet页
//        Map<String, Object> teacherSheet = ExcelUtils.createOneSheet("老师sheet页", "老师数据标题", TeacherEntity.class, teachData);
//
//        exportParamList.add(studentSheet);
//        exportParamList.add(teacherSheet);
//        try {
//            ExcelUtils.exportExcel(exportParamList,"多sheet导出",response);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * excel模板导出
//     */
//    @Override
//    public void templateExport() {
//        // 1.获取数据
//        Map<String, Object> map = getTemplateExportData();
//
//        // 2.获取模板exel
//        TemplateExportParams params = new TemplateExportParams(
//                "excel/导出模板.xlsx");
//
//        // 3.下载excel
//        HttpServletResponse response = ServletUtils.getResponse();
//        try {
//            ExcelUtils.templateExportExcel(map,"模板导出",params,response);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }

    /**
     * excel导入
     * @param file
     * @return
     */
    @Override
    public Result importExcel(MultipartFile file) {
        List<StudentEntity> list=null;
        // excel第一行为0
//        list = ExcelUtils.importExcel(file, 1, 0, StudentEntity.class);
        return Result.success(list);
    }
}
